package com.monlyu.dao;

import java.sql.SQLException;
import java.util.List;

import org.hibernate.metadata.ClassMetadata;

import com.monlyu.bean.Pages;

public interface SqlDao {

	/**
	 * 获取ClassMeadata
	 */
	public ClassMetadata getClassMetadata(Class<?> clazz);

	/**
	 * 执行SQL语句
	 */
	public int excute(String sql, Object... args);

	/**
	 * 通过SQL来获取结果
	 */
	public List<?> find(String sql, Object... args);

	/**
	 * 获取固定的行数
	 */
	public List<?> findLimit(String sql, int limit, Object... args);
	
	/**
	 * 获取sql中的所有表的字段名
	 */
	public String[] getColumns(String sql) throws SQLException;

	/**
	 *获取表的建表语句
	 */
	public String getDDL(String sql);

	/** 清除线程变量中的缓存 */
	public void clearSession();

	public int excuteBySql(String sql, Object[] args);
	public Pages find(String sql, int total, int curt);
}
